%include "nodo.mac"

;void proximo(Iterador *iter)
global proximo

%define ptr_iterador ebp + 8
section .text

;{
;	Nodo *actual = iter->actual;
;	iter->actual = actual->prox;
;}

proximo:
	push ebp			; creo el marco de la pila
	mov ebp, esp

	push ebx			; salvo registros convencion C
	push edi
	push esi

	mov edi, [ptr_iterador]		; edi = puntero a iterador
	mov esi, [edi]			; esi = puntero nodo actual
	mov ebx, [esi + _prox]		; ebx = puntero nodo proximo
	mov ecx, [ptr_iterador]
	mov [ecx], ebx			; iterador apunta al proximo

fin:
	pop esi				; desarmo el marco de pila
	pop edi
	pop ebx
	pop ebp

	ret
